////////////////////////////////////////////////////////////////////////////////
//
//  This program is free software; you can redistribute it and/or modify 
//  it under the terms of the GNU General Public License as published by the 
//  Free Software Foundation; either version 3 of the License, or (at your 
//  option) any later version.
//
//  This program is distributed in the hope that it will be useful, but 
//  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
//  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
//  for more details.
//
//  You should have received a copy of the GNU General Public License along 
//  with this program; if not, see <http://www.gnu.org/licenses>.
//
////////////////////////////////////////////////////////////////////////////////

package merapi.gps.messages;

import merapi.gps.model.GPSInfo;
import merapi.messages.Message;

/**
 *  <code>GPSMessage</code> is a sub class of <code>merapi.messages.Message</code> used 
 *  to interface with the GPS hardware.
 *
 *  @see merapi.messages.Message;
 *  
 *  @author Adam Flater - adamflater.net
 */
public class GPSMessage extends Message 
{
	//--------------------------------------------------------------------------
	//
	//  Class constants
	//
	//--------------------------------------------------------------------------
	
	/**
	 *  Configures the gps service
	 */
	public static final String CONFIG = "config";
	
	/**
	 *  Start the GPS hardware
	 */
	public static final String START = "start";
	
	/**
	 *  Stop the GPS hardware
	 */
	public static final String STOP = "stop";
	
	/**
	 *  An update of the current gps data
	 */
	public static final String GPS_DATA = "gpsData";
	
	/**
	 *  Requests gps data to be sent as soon as possible
	 */
	public static final String GET_GPS_DATA_NOW = "getGpsDataNow";
	
	
    //--------------------------------------------------------------------------
    //
    //  Constructor
    //
    //--------------------------------------------------------------------------

    /**
     * Constructor.
     */
    public GPSMessage() 
    {
        super();
    }
    
    /**
     * Constructor.
     */
    public GPSMessage( String type ) 
    {
    	super( type );
    }

    //--------------------------------------------------------------------------
    //
    //  Properties
    //
    //--------------------------------------------------------------------------

    //----------------------------------
    //  gpsInfo
    //----------------------------------

    /**
     *  The gps data.
     */
    public GPSInfo getGpsInfo()
    {
    	return __gpsInfo;
    }
    public void setGpsInfo( GPSInfo val )
    {
    	__gpsInfo = val;
    }

    
    //--------------------------------------------------------------------------
    //
    //  Variables
    //
    //--------------------------------------------------------------------------

    /**
     *  Used by the getters/setters.
     */
    protected GPSInfo __gpsInfo = null;
}
